草庐IT

JavaScript setTimeout 无法访问函数变量

全部标签

javascript - 了解 Javascript 的 _this、不同类型的函数调用以及如何在函数内部调用函数?

我正在学习如何对现有的javascript代码进行逆向工程,并且遇到了一些问题,这是由于我不了解核心javascript的工作原理。下面是代码以及我的评论的屏幕截图。代码以声明varwarper开始。然后warper变量等于函数内的函数?为什么它不是通常调用的functionWarper(),而是在另一个函数中?我注意到了_this的使用。这与通常使用的常规this有何不同?#btn-submitid被设置为在点击时激活。我可以看到它调用了click_submit函数,但为什么它是Warper.prototype.click_submit而不是click_submit()?我的最后一个

javascript - 如何使用 Webassembly (wasm) 访问和修改文档对象模型 (DOM)?

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭6年前。Improvethisquestion我知道webassembly(wasm)仍处于起步阶段,但我想知道我是否以及如何使用它来更改DOM(就像我使用Javascript来更改DOM一样)更改DOM)。这是官方页面:WasmMVP

javascript - Google VR 视频无法加载

我正在使用谷歌VRViewfortheweb加载360度全景视频。但是当我加载视频时,它显示Error,Render:videoloaderror:[objectevent]这是控制台显示的内容:当我从Google的url加载示例视频时,它就像一个魅力:https://storage.googleapis.com/vrview/examples/video/congo_2048.mp4这是我正在使用的代码(具有相同的视频,但存储在我的网站上):window.addEventListener('load',onVrViewLoad)functiononVrViewLoad(){varvr

javascript - 无法使用 AJAX 上传大于 50kb 的文件

虽然我在本地主机上工作正常,但我不确定为什么我的下面的代码不能处理我主机上任何大于50kb的文件。我测试了许多不同的文件大小,我很确定50kb是它的极限。如果文件大于50kb,则永远不会将其传递给process.php。如果一个文件小于50kb,它会被传递给process.phpok。有没有人可以帮我解决这个问题。我被这个问题困了几个小时。我确实在php.ini中将upload_max_filesize设置为5M。$(document).ready(function(){$('#img_uploader').on('change',function(){uploadFiles(this

javascript - 未捕获的 TypeError : this. 方法不是函数 - Node js 类导出

这个问题在这里已经有了答案:Howtoaccessthecorrect`this`insideacallback(13个答案)关闭5年前。我是node.js的新手,我正在尝试要求一个类。我用过https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Classes作为引用。但是,当我这样做时://talker.jsclassTalker{talk(msg){console.log(this.say(msg))vart=setTimeout(this.talk,5000,'helloagain');}say(msg){r

javascript - 如何在 ES6 中调用类的父类的父类的构造函数?

我正在使用ES6类,我的类(A)扩展了类B,类B扩展了类C。A如何扩展方法,然后调用C的该方法版本。classC{constructor(){console.log('classc');}}classBextendsC{constructor(){super()console.log('no,Idon'twantthisconstructor.');}}classAextendsB{constructor(){//WhatshouldIbedoinghere?IwanttocallC'sconstructor.super.super();}}编辑:谢谢大家,我将停止尝试做这种愚蠢的事情

javascript - 在 JavaScript 中获取对象变量名

我正在创建一个JavaScript代码,我遇到了一种情况,我想在对象方法中读取对象名称(字符串)。我试图实现的示例代码如下所示://DefinemyobjectvarTestObject=function(){return{getObjectName:function(){console.log(/*GettheObjectinstancename*/);}};}//createinstancevara1=TestObject();vara2=TestObject();a1.getObjectName();//HereIwanttogetthestringname"a1";a2.get

javascript - screen.lockOrientation 不是函数

我想在Chrome中使用Js中的API屏幕。if(navigator.userAgent.match(/(android|iphone)/gi)){if('orientation'inscreen){//console.log('//APIsupported,yeah!');//console.log('neworientationis',screen.orientation);screen.lockOrientation('landscape');}else{console.log('//APInotsupported');}}else{//alert('none');}我的错误js

javascript - Immutable.Map.deleteAll() 不是函数

考虑以下代码:constperson=Immutable.Map({name:'John',surname:'Maverick',age:39});constmutated=person.deleteAll(['name','age']);预期结果是mutated现在是Map的新实例,其中键name和age已删除。但是,抛出异常:UncaughtTypeError:person.deleteAllisnotafunction检查Immutable.Map原型(prototype)的可用方法时,没有deleteAll和removeAll方法。它们被移除了吗?该方法在ImmutableJS

javascript - WebStorm 无法识别使用 webpack 别名导入的 Sass 文件

我在我的元素中使用带有sass-loader的webpack2,我需要在组件样式文件中导入一些全局Sass文件(在我的例子中是带有Sass变量的文件)。我不想为全局文件写相对路径,而是我想使用绝对路径。即我要写@import"~styles/variables";代替@import"../../../variables"为此,我在我的webpack配置中为“styles”目录使用了别名resolve:{...alias:{'styles':helpers.root('src/styles'),}}所有这一切都如我所料,webpack正确编译了Sass。但是WebStorm不理解带有波浪